This invention relates to telephony and particularly to the transmission of voice information for telephony by a packet-switching digital communications network. More specifically, the invention relates to the improvement of voice quality in a packet-switched telephony system by retransmitting packets that have voice information that is especially significant to voice quality.
At the present time there is a substantial desire to transmit voice information in telephony systems by packet-switching digital communications networks. Such transmission has many advantages. For example, by standardizing voice transmission on a single communications network, there are significant economies in transmission costs, maintenance, and billing. It also makes possible integrated services, such as desktop telephones that can offer both voice and data services. For example, Nortel Networks produces a set of telephones, known as xe2x80x9cEtherphonesxe2x80x9d, that plug directly into an Ethernet, the communications wiring typically used for personal computers in businesses today. Such telephones can be installed without the need of telephone wiring, and can be operated with servers connected to the same network that function as a PBX. The resulting telephones, which typically have large displays and navigation controls, allow the use of both voice and data services, including Web access.
The primary impediment to the use of packet switching communications networks for transmitting telephony is voice quality. Because the Internet is a xe2x80x9cbest effortxe2x80x9d transmission medium, voice information when placed in packets cannot be guaranteed to reach the listener at the other end of the connection, because the packet may be lost. Such losses typically result from momentary overloads of data in parts of the network, with the network responding by simply discarding packets. In the way that the Internet is typically used for data, lost packets are not a problem because a transmission-acknowledgement-retransmission protocol is used, with packets retransmitted if an acknowledgement has not been received. However, in the case of telephony, the real-time requirements do not allow transmission-acknowledgement-retransmission systems to be practical.
Another problem related to voice quality is delay, which can be disorienting to the user. This delay results in part from the delay introduced by data compression systems and in part by delay introduced by transmission of the packet from source to destination on the network. Current Internet voice telephony systems are generally much lower quality than ordinary xe2x80x9ctoll gradexe2x80x9d telephony, and it is clear that the market for Internet telephony is significantly limited by these quality issues. As microprocessors become faster and cheaper and data compression techniques are developed further compression delays (which are in most systems the major cause of delay) will be substantially reduced, and as the Internet infrastructure develops transmission delays can also be expected to be reduced. However, the degradation in quality due to lost packets will continue to be a significant factor limiting Internet telephony.
Thus, there is a significant need for methods and systems that can avoid or limit the degradation in voice quality resulting from lost packets in Internet telephony. Such methods and-system are disclosed herein in accordance with the invention.
A method, apparatus, and computer program product for transmitting voice in the form of packets in a packet-switching communication system so as to improve voice quality in an Internet telephony system. The system in particular deals with voice quality problems resulting from lost packets. The system digitizes the voice information, places the result in the payload of a packet, and transmits the packet to the other party of the two-way telephone call.
At the transmitting end of the two-way telephone call, the voice information placed in the transmitted packet is then processed to determine the significance of the voice information in the packet. The processing identifies the phonemes contained in the packet and calculates, based on the identified phonemes, a measure of the significance of the voice information. This can be done by retrieving a constant from memory for each of the identified phonemes and taking the maximum value of the constant of all of the phonemes as the calculated significance of the voice information in the packet. A table in memory maintains these constants, which reflect the different significance of the voice information for different types of phonemes.
The system then compares the calculated significance value with a threshold value. If the significance value exceeds the threshold, the packet is retransmitted. This retransmission occurs after a delay, to allow for clearing of the congestion that presumably resulted in a lost packet. By adjusting the value of the threshold, the level of redundancy (and thus quality) in the transmission can be controlled.